The invention is generally deployed in the context of an “operation”, an operation consisting of: a continuous process (such as all or part of an oil refinery, oil and gas production facility, chemical plant pulp mill, steel mill); a utility (steam or hydrogen generation); traffic flow analysis (vehicular, airline); telecommunications; military operations (troop movement, aircraft scheduling); environmental emissions control (automobile, industrial); or any other similar undertaking, having multiple ways of achieving an objective, some more efficient than others.
One example of an “operation” is the modeling of greenhouse gas emissions and emissions trading under the Kyoto treaty, signed in Kyoto Japan in 1997. Development of an End-Use Model for Analyzing Policy Options to Reduce Greenhouse Gas Emissions, Mikiko Kainuma et al., IEEE Transactions on Systems, Man, and Cybernetics, Part C 29(3): 317-324 (1999) describes one such operation. The operation modeled here is the amount of carbon dioxide emissions from all sources. The optimization goals include reducing government-induced carbon dioxide emissions, while seeking to minimize costs to consumers. The model includes the effects of subsidy rates and taxation rates as well as mechanisms for generation of carbon dioxide emissions. Different ways of generating and consuming energy result in differing levels of carbon dioxide emissions. Different taxation and subsidy policies lead to a variety of overall cost outcomes to society. Because there are many possible outcomes, the “best” of these must be selected by solving an optimization problem. As proposed by Kainuma et al. the optimization is fundamentally a linear one, although the inclusion of more detailed mechanisms could lead to a more accurate nonlinear model.
Another example of an “operation” comprises a number of factories and warehouses, with each factory capable of producing a suite of goods at a certain cost level. The factories and warehouses are located remotely from each other, so transportation costs depend on the distance from the factories to the warehouses and the quantities of the goods shipped by each route. There are many possible ways to meet the customer demands in such a situation, some more economically favorable than others. By solving an optimization problem it is possible to find the best or optimal solution, according to some criterion, profit being one example; vehicle emissions another. Often these problems are treated as linear ones, although significant nonlinearities can enter the system, one example being a situation where each factory makes products more or less efficiently, depending on the levels of production. This factory/warehouse allocation problem has constraints on the amount of goods produced by each factory, the size of inventory of each warehouse and the availability of transportation for each route.
A third type of “operation” involves military logistics planning. One type of military planning model evaluates the feasibility of supporting military operations and involves the determination of whether different materials can be transported long distances during a crisis, within time constraints. Aircraft and ship movement capacities from different geographical locations are included. There are constraints on asset availability of each asset in each location. One goal of this type of modeling can be to determine which combination of asset movements results in the fastest deployment.
For purposes of brevity, a representative oil refinery process will be used throughout as an illustrative example of an operation.
An oil refinery converts crude oil into a number of commercially important products such as propane, gasoline, diesel fuel, jet fuel and asphalt. The situation is in fact more complicated than this, for a number of reasons. First, each of these products usually has multiple grades (e.g. low, medium or high octane gasoline; high sulfur or low sulfur diesel fuel). Second each product grade sells for a different price. Third, there are hundreds of different types of crude oils, each having its own unique set of properties, each having a price related to those properties, and each having availability which varies by time and location. Fourth, every oil refinery is unique, both in terms of geographical location and in terms of the types of “processes” used to convert crude oil into useful products. In the context used here, a “process” refers to a collection of refining equipment within the refinery, used to perform a specific task, such as separating crude oil, making gasoline and removing sulfur. Examples of processes include Crude Units, Catalytic Crackers, Catalytic Reformers and Distillate Desulfurizers. While a simple refinery can have as few as five processes, a more complicated one can have upwards of twenty different processes. In addition, each process can be run in many different modes or conditions. Finally, the individual products which the refinery makes have demands and product specifications which fluctuate significantly seasonally and annually. Gary and Handiwerk, published by Marcel Decker (1984) is an excellent reference, outlining the basics of oil refining.
The combination of these complicating factors—many available crudes, many products made, many processes, many operating modes and many prices—means that a refinery operator must constantly select the single “best” or “optimal” way to run the facility from a bewildering array of possible choices. Of the choices available to a refinery operator, some are not feasible (e.g. cannot pump more oil than the equipment constraints will allow) and many are very expensive (buy finished products from a competitor). The single best choice is the one which satisfies all of the finished product demands and specifications, honors all operational constraints, and does so at the highest possible profit to the refining company. Such a best choice is called the “optimal solution”, and is generally made available to the refinery owner through a technique referred to as “optimization.”
“Optimization” is a general term. In an oil refinery, the operating staff routinely use many kinds of optimization. Some of these include linear optimization of a single piece of operating equipment (heater, distillation column), non-linear optimization of a process unit (Crude Unit, Catalytic Cracker), non-linear optimization of product blending (gasoline, furnace oil), linear optimization of an entire refinery (Monthly Planning) and linear optimization of a group of refineries (Strategic Planning). All types of optimization have a number of common features, including a “process model”, a description of the “process constraints”, a definition of the “objective function”, a set of “model parameters”, “independent variables”, “disturbance variables”, “dependent variables” and a “mathematical solver.” A working definition of each term is provided here. For a more complete description of optimization concepts see Optimization of Chemical Processes, Edgar, Thomas F. and Himmelblau, David. M., McGraw-Hill (2001).
A “process model” is a mathematical description of all or part of an oil refinery. Such process models calculate the amount of finished product (gasoline, diesel) made by a modeled process, given a specific amount of raw materials (crude oil or intermediate products) and a set of operating conditions (temperatures, pressures, heating, cooling). Process models are generally based on the laws of chemistry and physics and keep accurate account of the material and energy flows, insuring that these obey the laws of nature (cannot create or destroy mass or energy). Process models represent the actual behavior of the process.
A “process constraint” or “constraint” represents the physical capability of a piece of equipment. A pump, for example, can only pump so much material; when the pump is running at maximum speed, it cannot pump more. In this condition, the pump is said to be at its maximum flow constraint. The process model insures that all of the equipment being modeled does not exceed minimum and maximum constraints on all flowrates, temperatures, pressures or compositions (e.g. gasoline octane, jet freeze point, ethane in propane).
An “objective function” is a way of quantifying how efficiently an operation is running. In an oil refinery, an objective function is often based on profit, which is calculated to be the value of all of the finished products made, minus the costs associated with the raw materials and energy used to make the products. If a given operation's objective function is profit, then the operation's optimum will be that set of conditions (raw materials used, energy consumed, products made, operating conditions) leading to maximum profit. There are other examples of objective functions including for example: minimize pollution, maximize a single product, minimize energy consumption and so on. Typically an objective function is comprised of independent variables, dependent variables and costs (or weighting factors) in some combination. The choice of the best objective function is left up to the owner of the operation.
“Model parameters” refer to a set of numbers which makes a general-purpose process model represent a unique oil refinery. An example of a model parameter is the size of a pump or the diameter of a pipe or how much jet fuel there is in a specific type of crude oil. The model parameters are set to make the process model match a given operation as closely as possible.
An “independent variable” is a variable in a model which can be set at a specific value by a person. A skilled practitioner often also uses the phrase “input variable” or “control” in place of “independent variable”. For a given operation, the set of independent variable values will determine the result of the model. An example of a typical independent variable for an oil refinery is the feedrate to a Catalytic Cracker.
A “disturbance variable” is a variable in a model which is fixed at a specific value by external factors. A skilled practitioner often also uses the phrase “feedforward variable” or “condition” in place of “disturbance variable”. For a given operation, the set of disturbance variable values will determine the result of the model. An example of a typical disturbance variable for an oil refinery is the ambient temperature.
A “dependent variable” is a variable which is calculated by the model. A skilled practitioner often uses the phrase “output variable” or “product” in place of “dependent variable”. The model calculates values for each of the dependent variables, based on the set of model equations, parameters and the values which were specified for the independent variables. An example of a typical dependent variable for an oil refinery is the gasoline product flow from a Catalytic Cracker.
By setting numerical values for the set of disturbance variables and the set of independent variables, a simulation model is said to be “fully specified”. Being fully specified means that the model has sufficient information available so that it can calculate values for all of the dependent variables.
A “mathematical solver” or “optimizer” is a technique for finding the optimum for a given process model, a given set of model parameters, constraints and objective function.
One way to view a process model is to compare it the terrain around a mountain. A mathematical solver can be compared to a mathematician issuing instructions to a hiker who wants to get to the top of the mountain (the optimum), which is hard to see because of tall trees. The mathematician searches for the optimum by instructing the hiker to take a step in a certain direction (this is equivalent to trying out a new operating condition in the process model). If by taking a step, the hiker has increased in altitude, the mathematician will likely tell the hiker to keep going in the same direction. If the hiker decreases in altitude, the mathematician will tell the hiker to try a new direction (new operating condition for the model). As the hiker makes progress, the mathematician builds up a general idea of the terrain in the vicinity of the hiker. The hiker may occasionally encounter a fence (constraint), and will be instructed by the mathematician which direction to try next to stay away from the fence and still keep going up. By this type of informed trial and error, the hiker will reach the optimal solution—either the mountain peak or the highest fence on the mountain.
There are many different kinds of process model. These can be broadly classified using the terms “linear”, “nonlinear”, “steady state”, “dynamic”, “first-principles” and “reduced.”
A “linear” model is one in which the calculated results (e.g. finished products) depend only on linear combinations of the model's inputs (e.g. for a refinery crude oil, operating conditions). A very simple refining example of a linear model is:Gasoline flow=0.5×Crude oil flow.
A “nonlinear” model is one in which the calculated results (e.g. finished products) depend on both linear and nonlinear combinations of the model's inputs (e.g. for a refinery crude oil, operating conditions). A very simple refining example of a nonlinear model is:Gasoline flow=0.005×Crude oil flow×Crude oil temperature.This model is considered nonlinear because two of the model's inputs, crude oil flow and crude oil temperature, are multiplied together.
A “steady state” process model is one in which time is not a model variable. By contrast, a “dynamic” model calculates the process response as a function of time.
A “first-principles” model is one which contains a very detailed description of an operation being modeled. Even though the disclosed invention is applicable to any number of operations, it's helpful to consider a specific example related to oil refining. First-principles oil refineries models first came into use in the 1970s, around the same time the last oil refinery in the United States was built. For an oil refining operation, first-principles models are inherently nonlinear, having as a basis a set of detailed thermophysical hydrocarbon properties such as heat capacity, enthalpy, viscosity, vapor-liquid equilibrium and chemical equilibrium. The ASTM International reference manual AT029, ASTM International, Dec. 11, 2004 is a good example of such a set of thermophysical hydrocarbon properties. In a first-principles model, these hydrocarbon properties are used to construct all heat, mass and component balance relationships using known equations for various refinery process operations such as distillation, heat exchange and chemical reaction. First-principles models for oil refining, which are available on the open market, are as a general rule extremely complex, both in terms of the types and large numbers of equations they contain. A first-principles model for a single refinery process (e.g. Catalytic Cracking) will contains many tens of thousands of nonlinear equations. Modeling an entire refinery with a first-principles approach could require hundreds of thousands of equations.
The inherent complexity and size of such models makes them accurate over a wide range of operating conditions, as well as allowing the models to be very general. But accuracy and flexibility come with the price that such large models require special expertise to use and maintain, and the mathematical solvers used are themselves complicated and prone to failure.
Returning to the question of how a refinery operator might best optimize the operation, one approach is to use a “Linear Program” (or “LP”) to simulate and optimize the entire refinery over a long time period, typically a month. Linear Programming was developed by IBM and its application to oil refining is well-documented in An Introduction to Linear Programming, IBM Technical Publications Department, White Plains N.Y., 1964. As one would expect from its name, Linear Programming is a based on a linear model of the operation. The practice of using Linear Programming to optimize refining operations is well established and widespread. Today most refiners routinely use a Linear Program once a month to select the best crude purchases and modes of operation for the current set of product demands, prices and operational constraints.
Practitioners skilled in the art will generally construct an LP model that has as set of “base” vectors and a set of “shift” or “delta” vectors. A base vector is a linear representation (set of LP model coefficients) which relates LP model dependent variables to the main LP model independent variables. For a Catalytic Cracker, an example of a base vector coefficient could be the one relating how much gasoline is made for every barrel of feed to the process. A base vector coefficient of 0.5 would mean that for every barrel of feed to the Fluid Catalytic Cracker, 0.5 barrels of gasoline would be produced. A shift vector is a set of LP model coefficients which relates the incremental changes in dependent variables to incremental changes in secondary LP independent variables. For a Fluid Catalytic Cracker, an example of a shift vector coefficient could be how much less gasoline results for each increment of sulfur in the feed. A shift vector coefficient of −0.01 would mean that for every 1 percent increase of sulfur in the feed, the gasoline flow would drop by 0.01 barrel for each barrel of feed.
Frequently, the initial set of linear model base coefficients used by an LP is derived from rules of thumb, readily-available operating data and engineering judgment. Although this is a common approach, it yields only very approximate LP coefficients. Furthermore, it is extremely difficult to produce reliable shift vector coefficients using this approach, a fact well-known to practitioners skilled in the art. When a Linear Program has been supplied with a representative set of base and shift vector coefficients, it is said to have been calibrated.
A second method of obtaining LP base coefficients for an operation is to make direct measurements of the operation itself. Such direct measurements are generally the result of carefully planned tests, where operating conditions are fixed and held for long periods of time. In an oil refinery example, a Fluid Catalytic Cracker will be held at a fixed feed rate, with fixed feed composition and fixed temperatures, pressures and flows for all of the major independent variables, for a day or two. During this period, the resulting product flows and compositions (dependent variables) will be measured. LP model coefficients will be calculated using the knowledge of the dependent and independent variables values. However, as with the method above, using operating data to produce shift vector coefficients is notoriously unreliable, a fact known to practitioners skilled in the art.
A third technique called “Recursion” is used by those skilled in the art as a way to update linear program model coefficients by means of nonlinear model results. A commercial example of this can be found in the Aspen Technology, Inc. software product known as Aspen PIMS™ as described in Aspen Technology product brochure PB 136 9/03, copyright 2003. In recursion, the linear program coefficients are periodically updated at certain stages during the linear program solution iterations via a nonlinear model, which supplies more accurate coefficients. The recursion calculation can be stated simply as:G=h(X)  Equation 1
In Equation 1, X is the set of independent variable values at the current LP solution step, G is the corrected set of linear program coefficients and h(X) is the nonlinear model slopes evaluated at X. One advantage of recursion is that the method is capable of producing shift vectors of fairly reliable quality.
An extension to recursion is a technique called “Nonlinear Programming” or NLP. NLP techniques are used to solve the same types of problems as LP, but in the case of NLP, the model is nonlinear and the solvers used are designed for solving nonlinear problems.
Each method of obtaining LP model coefficients has advantages and disadvantages. The simplest method (using rules of thumb, etc.) can be done quickly, but yields very approximate LP model base coefficients, and cannot produce accurate shift coefficients. The second method (measuring the operation directly) is time consuming and expensive, but yields relatively more accurate LP model coefficients. However, this method is also incapable of producing reliable shift vector coefficients. The third method of recursion has the potential to produce the most accurate LP model (both base and shift coefficients), but is however burdened with complexity due to the fact that recursion requires nonlinear models to be solved indirectly by the LP algorithm, which is designed to solve only linear problems.
In general, linear programming techniques suffer from the shortcoming that linear models fail to capture significant nonlinearities in the operation. Because of this, the linear optimal solution only approximates the true nonlinear optimum. That is, where nonlinearities are significant, the linear programming approach will fail to fully optimize the operation. Generally, LP models are constructed once at an initial point in time, using the best information available. However, over time, these linear models become less accurate as operating conditions change. An oil refining example would be when a linear program is used to optimize a Catalytic Cracker. When the linear model is first constructed, assumptions are made regarding the feed types and operating conditions of the Catalytic Cracker, and the linear model is based on these. Over the coming months and years, however, the operating conditions will change, with new types of feeds being present. Furthermore process performance will change or deteriorate due to equipment failure, or because the process was deliberately reconfigured. The accumulation of such changes over time will cause the actual process behavior to deviate significantly from the original linear model used to optimize it.
One common technique for keeping LP models accurate, practiced by those skilled in the art, is called “backcasting”. Backcasting essentially consists of using the LP model to calculate some past operating point, and comparing the difference between the actual operating point, and the LP model prediction of it. This difference is then used to correct the LP model coefficients so as to reduce or eliminate the difference between the known past operating point, and the LP model's prediction of it. To summarize, LP models are only approximate, either because the LP model base and shift coefficients are not exact, or because the operation behavior has changed, or because the operation behavior is significantly nonlinear. LP model coefficients are initially generated using estimates. These estimates result in LP model prediction errors relative to the actual operation. The errors are further compounded by the facts that operating conditions change and deteriorate over time and that operations are often nonlinear in significant ways. Practitioners skilled in the art try to deal with these LP model inaccuracies in various ways, either through backcasting, recursion or by more frequently collecting data from the operation. The main shortcoming of backcasting is that as it is currently practiced, only single operating points are used to generate corrective LP coefficient feedback, which is a poor statistical basis for measuring model performance in the face of significant measurement error, noise and bad data originating in the operation. Furthermore backcasting as currently practiced cannot produce reliable corrections for shift vectors. The main shortcoming of recursion is that it requires nonlinear models to be handled by a linear LP solver. This can produce unacceptably long solution times and can also result in suboptimal solutions. Using plant data as the basis for LP model coefficients can be a satisfactory way to generate base vector coefficients, but as is known to practitioners skilled in the art, it is nearly impossible to produce reliable shift vector coefficients using operating data. Although NLP is showing promise in LP-type applications, the models and the algorithms for solving them are significantly more complicated than the ones used for LP. This complexity results in additional cost, both in terms of replacing older technology with newer, and also in terms of the manpower required to keep NLP applications working.
A LP model is a very valuable optimization tool, widely used in applications as diverse as oil refining, telecommunications, shipping, airline scheduling, natural gas production, utilities, military logistics, automotive and many others. However measuring and improving the LP model accuracy relative to the actual operation is a critical and often-neglected area. What is needed is a system to track the departure of the linear LP model from the performance of the operation over time, and then to reliably correct the LP base and shift vector coefficients so as to increase the model's accuracy. The present invention directly addresses these needs and provides other advantages.